﻿/*
 * file-maker.hpp
 * Jeff Wicks
 */

#ifndef FILEMAKER_HPP
#define BENCHMARK_HPP

#include <sys/times.h>
#include <stdint.h>


class FileMaker
{
    unsigned int        number_of_files;
    const std::string   benchmark_directory;

    clock_t start_time;
    clock_t end_time;
    tms     start_cpu;
    tms     end_cpu;

    /*
     * Find out if the benchmark directory is on a
     * watched filesystem.
    */
    std::string getMount();

    /*
     * Timer functions should be a Timer class. If it takes on any more functionality,
     * I should make it so. It should start, stop and print. NOTE: This example assumes
     * that the result of each subtraction is within the range of values that can
     * be represented in an integer type.
    */
    void startTimer();
    void endTimer();

    /*
     * Allow this app to delete the temporary files.
     */
    void removeTemporaryFiles();

public:
    FileMaker(int argc, char *argv[]);

    /*
     * This function contains the most important part of the program - the for loop.
     */
    void makeTemporaryFiles();


};

#endif //#ifndef FILEMAKER_HPP
